package com.ruoyi.project.xcx.myhome.goods.service;

import java.util.List;
import com.ruoyi.project.xcx.myhome.goods.domain.XcxMyhomeGoods;
import com.ruoyi.project.xcx.myhome.goods.dto.GoodsDto;
import com.ruoyi.project.xcx.user.domain.XcxUser;

/**
 * myhome物品Service接口
 * 
 * @author ruoyi
 * @date 2020-03-10
 */
public interface IXcxMyhomeGoodsService 
{
    /**
     * 新增类别和物品
     * @param goods
     * @param user
     */
    void addGoods(GoodsDto goods, XcxUser user);

    /**
     * 小程序修改物品
     * @param goods
     * @param user
     */
    void editGoods(GoodsDto goods, XcxUser user);

    /**
     * 小程序删除物品
     * @param id
     * @param user
     */
    void deleteGoods(Long id, XcxUser user);

    /**
     * 物品减一
     * @param id
     * @param user
     */
    void decreaseGoods(Long id, XcxUser user);
    /**
     * 查询某用户物品
     * @param goods
     * @param user
     * @return
     */
    List<GoodsDto> listGoods(GoodsDto goods, XcxUser user);

    /**
     * 查询一个物品的信息
     * @param id
     * @param user
     * @return
     */
    GoodsDto getGoods(Long id, XcxUser user);
    /**
     * 查询myhome物品
     * 
     * @param id myhome物品ID
     * @return myhome物品
     */
    public XcxMyhomeGoods selectXcxMyhomeGoodsById(Long id);

    /**
     * 查询myhome物品列表
     * 
     * @param xcxMyhomeGoods myhome物品
     * @return myhome物品集合
     */
    public List<XcxMyhomeGoods> selectXcxMyhomeGoodsList(XcxMyhomeGoods xcxMyhomeGoods);

    /**
     * 新增myhome物品
     * 
     * @param xcxMyhomeGoods myhome物品
     * @return 结果
     */
    public int insertXcxMyhomeGoods(XcxMyhomeGoods xcxMyhomeGoods);

    /**
     * 修改myhome物品
     * 
     * @param xcxMyhomeGoods myhome物品
     * @return 结果
     */
    public int updateXcxMyhomeGoods(XcxMyhomeGoods xcxMyhomeGoods);

    /**
     * 批量删除myhome物品
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteXcxMyhomeGoodsByIds(String ids);

    /**
     * 删除myhome物品信息
     * 
     * @param id myhome物品ID
     * @return 结果
     */
    public int deleteXcxMyhomeGoodsById(Long id);
}
